home *** CD-ROM | disk | FTP | other *** search
/ Aminet 28 / Aminet 28 (1998)(GTI - Schatztruhe)[!][Dec 1998].iso / Aminet / dev / c / qtools0.2-src.lha / src / libqdisplay / render.h < prev    next >
Encoding:
C/C++ Source or Header  |  1998-07-19  |  1.1 KB  |  30 lines

  1. #ifndef RENDER_H
  2. #define RENDER_H
  3.  
  4. extern int type;
  5. extern int model;
  6.  
  7. extern unsigned char *visibleFaces;                /*[MAX_MAP_FACES / 8 + 1]; */
  8. extern unsigned char *visibleLeafs;                /*[MAX_MAP_LEAFS / 8 + 1]; */
  9. extern unsigned char *visibleNodes;                /*[MAX_MAP_NODES]; */
  10.  
  11. #define is_marked_leaf(x)    (visibleLeafs[(x) >> 3] &   (1 << ((x) & 7)))
  12. #define is_marked_node(x)    (visibleNodes[(x) >> 3] &   (1 << ((x) & 7)))
  13. #define is_marked_face(x)    (visibleFaces[(x)])
  14. #define mark_leaf(x)        (visibleLeafs[(x) >> 3] |=  (1 << ((x) & 7)))
  15. #define mark_node(x)        (visibleNodes[(x) >> 3] |=  (1 << ((x) & 7)))
  16. #define mark_face(x)        (visibleFaces[(x)] = contents)
  17. #define unmark_leaf(x)        (visibleLeafs[(x) >> 3] &= ~(1 << ((x) & 7)))
  18. #define unmark_node(x)        (visibleNodes[(x) >> 3] &= ~(1 << ((x) & 7)))
  19. #define unmark_face(x)        (visibleFaces[(x)] = 0)
  20.  
  21. bool leaf_in_frustrum(register struct dleaf_t *node);
  22. bool node_in_frustrum(register struct dnode_t *node);
  23.  
  24. void mark_leaf_faces(__memBase, register short int leaf);
  25. void render_node_faces(__memBase, register short int node, register short int side);
  26. void renderWorld(__memBase);
  27. int visit_visible_leaves(__memBase);
  28.  
  29. #endif
  30.